package com.example.project.frag_chart;


import android.graphics.Color;
import android.view.View;

import androidx.fragment.app.Fragment;

import com.example.project.bean.BarChartItemBean;
import com.example.project.db.DBManager;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.components.YAxis;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.interfaces.datasets.IBarDataSet;

import java.util.ArrayList;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class OutcomChartFragment extends BaseChartFragment {
    int kind = 0;
    float maxMoney=0;
    @Override
    public void onResume() {
        super.onResume();
        loadData(year,month,kind);
    }



//        //获取这个月每天的支出总金额
//        private void volleyDayNum (String year, String month, String kind, String mainId){
//            VolleyInterface vif = null;
//            VolleyRequest.RequesetPost( ConstantUtil.MONTHSR, "DayNumsOut", Params.DayNums( year, month, kind, mainId ), new VolleyInterface( getContext() ) {
//                @Override
//                public void onMySuccess(String jsonStr) {
//                    List<IBarDataSet> sets = new ArrayList<>();
//                    JSONArray jsonArray = null;
//                    // 初始化list数组对象
//                    ArrayList<BarChartItemBean> list = new ArrayList<>();
//                    try {
//                        jsonArray = new JSONArray( jsonStr );
//                        for (int j = 0; j < jsonArray.length(); j++) {
//                            JSONObject juser = jsonArray.getJSONObject( j );
//                            BarChartItemBean barChartItemBean = new BarChartItemBean();
//                            barChartItemBean.setYear( Integer.parseInt( juser.getString( "year" ) ) );
//                            barChartItemBean.setMonth( Integer.parseInt( juser.getString( "month" ) ) );
//                            barChartItemBean.setDay( Integer.parseInt( juser.getString( "day" ) ) );
//                            barChartItemBean.setSummoney( Float.parseFloat( juser.getString( "sum" ) ) );
//                            list.add( barChartItemBean );
//                        }
//                    } catch (JSONException e) {
//                        e.printStackTrace();
//                    }
//                    if (list.size() == 0) {
//                        barChart.setVisibility( View.GONE );
//                        chartTv.setVisibility( View.VISIBLE );
//                    } else {
//                        barChart.setVisibility( View.VISIBLE );
//                        chartTv.setVisibility( View.GONE );
////            设置有多少根柱子
//                        List<BarEntry> barEntries1 = new ArrayList<>();
//                        for (int i = 0; i < 31; i++) {
////                初始化每一根柱子，添加到柱状图当中
//                            BarEntry entry = new BarEntry( i + 1, 0.0f );
//                            barEntries1.add( entry );
//                        }
//                        for (int i = 0; i < list.size(); i++) {
//                            BarChartItemBean itemBean = list.get( i );
//                            int day = itemBean.getDay();   //获取日期
//                            // 根据天数，获取x轴的位置
//                            int xIndex = day - 1;
//                            BarEntry barEntry = barEntries1.get( xIndex );
//                            barEntry.setY( itemBean.getSummoney() );
//                        }
//                        BarDataSet barDataSet1 = new BarDataSet( barEntries1, "" );
//                        barDataSet1.setValueTextColor( Color.BLACK ); // 值的颜色
//                        barDataSet1.setValueTextSize( 8f ); // 值的大小
//                        barDataSet1.setColor( Color.parseColor( "#006400" ) ); // 柱子的颜色
//
//                        // 设置柱子上数据显示的格式
////            barDataSet1.setValueFormatter( new IValueFormatter() {
////                @Override
////                public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
////                    // 此处的value默认保存一位小数
////                    if (value==0) {
////                        return "";
////                    }
////                    return value + "";
////                }
////            });
//                        sets.add( barDataSet1 );
//
//                        BarData barData = new BarData( sets );
//                        barData.setBarWidth( 0.2f ); // 设置柱子的宽度
//                        barChart.setData( barData );
//                    }
//                }
//
//                @Override
//                public void onMyError(VolleyError error) {
//                }
//
//                @Override
//                public void onImageSuccess(Bitmap bitmap) {
//                }
//            } );
//        }
//
//        //获取这个月的最大金额
//        private void volleyMonthMax (String year, String month, String kind, String mainId){
//            VolleyInterface vif = null;
//            VolleyRequest.RequesetPost( ConstantUtil.MONTHSR, "MonthMaxOut", Params.MonthMax( year, month, kind, mainId ), new VolleyInterface( getContext() ) {
//                @Override
//                public void onMySuccess(String jsonStr) {
//                    maxMoney = Float.parseFloat( jsonStr );
//                    float max = (float) Math.ceil( maxMoney );   // 将最大金额向上取整
//                    //设置y轴
//                    YAxis yAxis_right = barChart.getAxisRight();
//                    yAxis_right.setAxisMaximum( max );  // 设置y轴的最大值
//                    yAxis_right.setAxisMinimum( 0f );  // 设置y轴的最小值
//                    yAxis_right.setEnabled( false );  // 不显示右边的y轴
//
//                    YAxis yAxis_left = barChart.getAxisLeft();
//                    yAxis_left.setAxisMaximum( max );
//                    yAxis_left.setAxisMinimum( 0f );
//                    yAxis_left.setEnabled( false );
//
//                    //设置不显示图例
//                    Legend legend = barChart.getLegend();
//                    legend.setEnabled( false );
//                }
//
//                @Override
//                public void onMyError(VolleyError error) {
//                }
//
//                @Override
//                public void onImageSuccess(Bitmap bitmap) {
//                }
//            } );
//        }
}
